哈囉大家好!來到發文的第三天了~
昨天提到Laravel的種種優勢,現在是讓它小露身手的時候啦!今天我要創建一個Laravel的專案,並且分析程式碼的架構。
俗話說「知己知彼,百戰百勝!」在正式利用Laravel框架開發前必須先瞭解基本的程式碼語法以及撰寫邏輯,希望自己可以在前兩週熟悉基本語法,減少後面兩週做小專案時創造BUG的機會
那我們就馬上開始吧~
在正式創建Laravel專案前,必須先認識一下另一個套件工具Composer-PHP用來管理套件的工具。在沒有Composer的幫助下,在PHP檔使用套件時就必須include一次,套件需要的套件也會需要一起include,最後PHP檔的上方就會有一大坨include大烏雲,在上面盤旋無法離去QQ(下面的程式碼表示:我想念溫暖的陽光~)
這時候Composer就會化身超級吸塵器,把所有需要include的套件吸進autoload.php這個PHP檔中。所以我們只要include autoload.php就可以使用裡面的套件啦~
因為這次的分享重點注重在Laravel的分享,所以就沒有分享Composer的安裝過程。還沒安裝Composer的邦友可以到網路上搜尋教學完成安裝喔!
那麼接下來就要開始創建我的第一個Laravel專案了!
首先在想要創建專案的路徑裡打開終端機,輸入命令列來創建專案(這邊也是Composer套件工具來幫助創建專案喔)
composer create-project --prefer-dist laravel/laravel example
按下enter後就會看到終端機出現密密麻麻的執行過程,好像變形金剛的變身過程,幾秒後就可以在剛剛創建專案的路徑中看到變形金剛完整體(Laravel檔案初始型!)
最後的example是我幫這個專案取的名字,專案建立好後會在剛剛的路徑中出現名為example的檔案夾。
註:命令列中的--prefer-dist是用來告訴Composer我們偏好的下載方式,這裡我們選擇從github下載zip壓縮包緩存到本地端,下次再安裝Laravel專案時就會從本地加載,讓安裝的速度變得更快。
下方是Laravel專案的大致程式碼架構:
example/
├── app/
│ ├── Console/
│ ├── Exceptions/
│ ├── Http/
│ │ ├── Controllers/
│ │ ├── Middleware/
│ └── Providers/
├── bootstrap/
├── config/
├── database/
├── public/
├── resources/
├── routes/
├── storage/
└── tests/
看到檔案夾內的資料我其實有嚇到,內容比我想像中的多呢!(果然厲害的Laravel,
要背負很多的包袱來幫助開發者QQ)
接下來先來看看一些比較基本的目錄負責什麼樣的功能:
1. app:
Console-負責開發時的命令列工作,開發者甚至可以設計自己的Artisan指令來完成特定任務。
Exceptions-顧名思義就是負責處理例外(Exception)還有錯誤(Error)的部分,程式碼會寫在Handler.php中。
Http-這個檔案夾裡面還有三個子目錄,分別是Controllers, Middleware, Requests。
Models:
Models是儲存資料庫models(Eloquent models)的地方,Eloquent models是幫助應用程式和資料庫互動的媒介,透過Eloquent models對資料庫進行增刪查改。
Providers:
我們會把要處理routes, middleware, events等程式碼放到這個目錄。其中AppServiceProvider.php這個檔案是最核心的providers,每一次的請求都會執行這個檔案。
2. bootstrap:
看到bootstrap就想到了前端的UI框架!但這裡的bootstrap是和啟動框架有關的目錄,包含了app.php這個檔案。還有一個cache目錄,包含可以讓Laravel框架效能畫的routing和services快取檔案。
3. config:
這個目錄包含了專案的所有設定檔,例如:app.php是應用程式基本配置的檔案,database.php是負責處理資料庫連接設定,mail.php是寄送郵件時的設定檔。
剩下還沒提到的部分就決定留給明天了!
認識Laravel的第三天已經可以感受到這個框架的細膩度以及功能切割的俐落~
今天也順利完成發文挑戰!耶~~
那就明天再見囉~